1156515 Logo RH RGB Reverse

redhat-emea-partner-2015

Continuous Delivery with JBoss Fuse & Openshift

Charles Moulliard
6th of October 2015

Who

softshake-2015

cmoulliard

Pr. Solution Architect, Fuse Expert, Apache Committer

Blog: http://cmoulliard.github.io

Twitter: @cmoulliard

Email: cmoulliard@redhat.com

  • Committer on Apache Camel, Karaf, Fabric8, Hawtio … & PMC

  • Technology evangelist

  • Mountain Biker, Belgian Beer Fan, Blogger

Agenda

softshake-2015

  • The cost of change

  • CD/CI

  • Technology

  • OpenShift

  • Fabric8

  • Demo

 

1156515 Logo RH RGB Reverse

Cost of change

Cost of change change

softshake-2015

Business requirement

2x

Development

3x

Operation

4x

Infrastructure

Integration costs

softshake-2015

  • Integration is Hard!

  • Different system vintages

  • Mainframe, EAI Hub, MOM, EJB, Web Services

  • Systems must collaborate

esb

Integration costs

softshake-2015

  • Protocol (IIOP, DCOM, JMS, MQTT, AMDP, …)

  • Standard (JBI, EJB)

  • Data Format (XSD, JSon)

  • Data Mapping (csv to XML)

integration-2

Integration costs

softshake-2015

  • Services governance

  • Security

  • Procedures

  • Volumetry

  • Timing, Communication

integration-1

 

1156515 Logo RH RGB Reverse

Continuous Delivery Strategy !

 

softshake-2015

worked-fine-in-dev

“WTF is DevOps?”

softshake-2015

  • IT is a core competency

  • Set of principles

  • There’s more to applications than coding!

  • Feedback, Repetition

  • Communication

  • People!

wtf-dev-ops

“Coder, programmer”

softshake-2015

developer

“Interest”

softshake-2015

languages

java, web2, html, js, unit test, …

“Operation guy”

softshake-2015

opts it

log, procedure, cpu, thread blocked, report, deployment procedure, alert, monitor, …

Strategy

softshake-2015

  • Objective Continuous Integration strategy

  • Establish a concrete pipeline to production

  • Build/Test/Release more often!

idea

Impact

softshake-2015

  • Bottlenecks ?

  • Involves Dev & Ops to be successful

  • Every build is a “release candidate”

collaborate

Automate Pipeline !

softshake-2015

  • Developer

    • Unit test

    • Integration test

    • Build

    • Deployment

    • Doc / Release

devops2

Automate Pipeline

softshake-2015

  • Operations

    • Setup (V)Machine

    • Provisioning software

    • Deployment in QA/UAT/PROD

devops1

 

1156515 Logo RH RGB Reverse

Requirements to support CD

Dev Tools

softshake-2015

  • SCM Git

  • Code Review Gerrit

  • Git Repos mngt Gitlab/Gogs

  • Build Apache Maven

  • Automate Jenkins

fabric8-cd-tools

Platform

softshake-2015

  • Machine → VM → Linux Container

  • Red Hat Atomic Enterprise Platform

rhel-atomic

 

1156515 Logo RH RGB Reverse

Linux container

Process

softshake-2015

docker-animated-1

Docker

softshake-2015

  • Container runtime, image distribution, Process launcher

docker-animated-2

docker-logo

Docker

softshake-2015

docker filesystems multilayer
  • Top of a Union FS mounted with immutable images

  • Benefits: portability, reusability, versioning, application-centric

dockerfile

 

1156515 Logo RH RGB Reverse

Management platform

Kubernetes

softshake-2015

  • Runtime & Operational management of containers

  • ApiServer (event, status), Scheduler, Controller & State Storage

  • Agent - Kubelet - manage containers on host

  • Containers pods (= shared docker containers)

kubernetes logo

Kubernetes

softshake-2015

kubernetes-platform

Pod & docker

softshake-2015

fabric8 pod
  • Communicate to each other using skyDNS to resolve hostname

Pod & port

softshake-2015

fabric8 pod port
  • Ports can be exposed

Pod & volume

softshake-2015

fabric8 pod volume
  • Share data using mounted volume between host & container

Kubernetes Service

softshake-2015

fabric8 service pod
  • Kube Service loadbalanced through the pods using HA-Proxy & Routes

Kube Application JSon

softshake-2015

kubernetes-json-1

kubernetes-json-2

 

1156515 Logo RH RGB Reverse

Platform as Service

OpenShift v3

softshake-2015

  • Designed around Kubernetes, Docker, Fabric8

  • Provide new features

    • Docker Images Registry & Certification

    • SSO - Authentication Server

    • Api for Management, Client Command Line

rht-atomic-enterprise-openshift

Architecture

softshake-2015

ose-v3

CDelivery Technology

softshake-2015

new-cd-pipeline

  • Manage setup/build/deploy images

  • Tooling Mngt CD Pipeline & Apps

  • Stage environments

  • Provision Worflow Pipeline

fabric8-logo

Fabric8 Maven Plugin

softshake-2015

  • docker:build Build image of app

  • docker:push Push image

  • fabric8:json generates Kube MetaData App

  • fabric8:apply deploy on Openshift

  • fabric8:recreate redeploy on Openshift

  • fabric8:devops automate pipeline creation

  • and more to create env, delete pods, create routes

 

softshake-2015

fabric8-diagram1

 

softshake-2015

fabric8-cdci

 

softshake-2015

1156515 Logo RH RGB Reverse

Demo

Questions

softshake-2015

questions